CFLAGS+=-I$(LINUX_ROOT)/include/asm-xen/linux-public/
LDFLAGS+=-Lsrc
-# Note that the bindings are not built by default, because they require a
-# number of external dependencies.
all: $(LIB) $(LINKS)
$(LIB): $(OBJECTS)
BINDINGSRC=$(PYSRC) $(PERLSRC)
# The all-bindings target builds all the language bindings
-all-bindings: $(BINDINGS)
+all-bindings: perl-bindings python-bindings
+
+# The install-bindings target installs all the language bindings
+install-bindings: install-perl-bindings install-python-bindings
$(BINDINGS): $(LIB) $(LINKS) src/xenstat.h
SWIG_FLAGS=-module xenstat -Isrc
+# Python bindings
PYTHON_VERSION=2.3
PYTHON_FLAGS=-I/usr/include/python$(PYTHON_VERSION) -lpython$(PYTHON_VERSION)
$(PYSRC) $(PYMOD): bindings/swig/xenstat.i
$(PYLIB): $(PYSRC)
$(CC) $(CFLAGS) $(LDFLAGS) $(PYTHON_FLAGS) -shared -lxenstat -o $@ $<
+python-bindings: $(PYLIB) $(PYMOD)
+
+pythonlibdir=$(prefix)/lib/python$(PYTHON_VERSION)/site-packages
+install-python-bindings: $(PYLIB) $(PYMOD)
+ $(INSTALL_PROG) $(PYLIB) $(DESTDIR)$(pythonlibdir)/_xenstat.so
+ $(INSTALL_PROG) $(PYMOD) $(DESTDIR)$(pythonlibdir)/xenstat.py
+
+ifeq ($(XENSTAT_PYTHON_BINDINGS),y)
+all: python-bindings
+install: install-python-bindings
+endif
+
+# Perl bindings
PERL_FLAGS=`perl -MConfig -e 'print "$$Config{ccflags} -I$$Config{archlib}/CORE";'`
$(PERLSRC) $(PERLMOD): bindings/swig/xenstat.i
swig -perl $(SWIG_FLAGS) -outdir $(@D) -o $(PERLSRC) $<
$(PERLLIB): $(PERLSRC)
$(CC) $(CFLAGS) $(LDFLAGS) $(PERL_FLAGS) -shared -lxenstat -o $@ $<
-# The install-bindings target installs all the language bindings
-install-bindings: install-perl-bindings install-python-bindings
+perl-bindings: $(PERLLIB) $(PERLMOD)
-pythonlibdir=$(prefix)/lib/python$(PYTHON_VERSION)/site-packages
-install-python-bindings: $(PYLIB) $(PYMOD)
- $(INSTALL_PROG) $(PYLIB) $(pythonlibdir)/_xenstat.so
- $(INSTALL_PROG) $(PYMOD) $(pythonlibdir)/xenstat.py
-
-perllibdir=$(prefix)/lib/site_perl
-perlmoddir=$(prefix)/lib/site_perl
+perllibdir=$(prefix)/lib/perl5
+perlmoddir=$(prefix)/share/perl5
install-perl-bindings: $(PERLLIB) $(PERLMOD)
- $(INSTALL_PROG) $(PERLLIB) $(perllibdir)/xenstat.so
- $(INSTALL_PROG) $(PERLMOD) $(perlmoddir)/xenstat.pm
+ $(INSTALL_PROG) $(PERLLIB) $(DESTDIR)$(perllibdir)/xenstat.so
+ $(INSTALL_PROG) $(PERLMOD) $(DESTDIR)$(perlmoddir)/xenstat.pm
+
+ifeq ($(XENSTAT_PERL_BINDINGS),y)
+all: perl-bindings
+install: install-perl-bindings
+endif
clean:
rm -f $(LIB) $(OBJECTS) $(LINKS) $(BINDINGS) $(BINDINGSRC)
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-ifneq (,$(shell [ -e /usr/include/curses.h ] || echo no))
-all vm-top:
- @echo "***********************************************************"
- @echo "WARNING: Install ncurses to build vm-top."
- @echo "***********************************************************"
-else
-
XEN_ROOT=../../..
include $(XEN_ROOT)/tools/Rules.mk
+ifneq ($(XENSTAT_VM_TOP),y)
+all install vm-top:
+else
+
INSTALL = install
INSTALL_PROG = $(INSTALL) -m0755 -D
INSTALL_DATA = $(INSTALL) -m0644 -D
vm-top: vm-top.o
-endif
-
install: vm-top vm-top.1
- [ -f vm-top ] && $(INSTALL_PROG) vm-top $(DESTDIR)$(sbindir)/vm-top
- [ -f vm-top.1 ] && \
- $(INSTALL_DATA) vm-top.1 $(DESTDIR)$(man1dir)/vm-top.1
+ $(INSTALL_PROG) vm-top $(DESTDIR)$(sbindir)/vm-top
+ $(INSTALL_DATA) vm-top.1 $(DESTDIR)$(man1dir)/vm-top.1
+
+endif
clean:
rm -f vm-top vm-top.o